#ifndef SINGLELINKED_H
#define SINGLELINKED_H

#include <memory>
#include "ListNode.h"

class SingleLinked
{
    public:
        SingleLinked();
        virtual ~SingleLinked();
     /* API */
        int addItem(const wchar_t &c);
        int deleteItem(const wchar_t &c);
        int getSize(void);
        wchar_t nextItem(void);
        void setItemIdx(const int &i);
    /* Member */
    private:
        int cnt;
        int cur_cnt;
        class ListNode* head;
        class ListNode* cur;
        //class ListNode* prev_bk;
        std::allocator<ListNode> allocat;
    /* Test */

    protected:

    private:


};

#endif // __SINGLELINKED_H__
